package com.atguigu.gulimall.cart.feign;

import com.atguigu.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;


@Component
@FeignClient(value = "gulimall-product")
public interface ProductFeignService {

    /**
     * 我们想把购物项加入到购物车，就需要根据skuId查询出商品的详细信息
     * 不幸的是，商品的详细信息都在gulimall-product服务下
     * com.atguigu.gulimall.product.app.SkuInfoController
     */
    @RequestMapping("/product/skuinfo/info/{skuId}")
    public R info(@PathVariable("skuId") Long skuId);

    /**
     * 我们还希望在购物车中添加商品的销售属性的信息，比如：颜色:星河银
     * 一个商品有好多销售属性，但销售属性都在gulimall-product服务下
     * 的com.atguigu.gulimall.product.app.SkuSaleAttrValueController下面
     * @param skuId
     * @return
     */
    @GetMapping("/product/skusaleattrvalue/stringList/{skuId}")
    public List<String> getSkuSaleAttrValues(@PathVariable Long skuId);

}
